In today's print on demand, a print job can be generated, which may contain several pages of text and images of various complexities. These complex jobs can heavily require and occupy long processing time (i.e., raster image processing or “RIP” time) on the printing device. In sequences of print jobs, this can become a bottleneck for other jobs waiting to be processed or RIPped as the printing device has to complete ripping of the current complex job before it can proceed to the subsequent print job.
One related method to managing print job of various complexities is to divide or split the print job into multiple sub-print jobs which can be processed simultaneously, thereby, reduce total processing time. The sub-print jobs can then be stored temporarily in the printing device storage such as hard disk or memory and employing a print job control module to manage these sub-print jobs. The print job control module monitors the receiving and processing of the print job. Every time a sub-print job is processed and ready to print, the sub-print job can then be released for printing. With this method, subsequent print jobs with lesser complexities can be processed in lesser wait time.
While this method can address processing of subsequent print jobs, the method cannot prevent delays that may occur in-between the sub-print jobs during the course of printing the print job entirely. In order for the whole of the print job to be printed entirely it has to wait until all sub-print jobs have been processed. If a sub-print job takes a long time to process and causes the print engine to wait until the sub-print job becomes ready for printing, it will affect the over-all printing performance as subsequent print job has to wait.